import axios from "axios";
import { ElMessage } from "element-plus";
// 重新封装axios请求
// 能够利用axios提供的拦截器的功能
// 请求拦截器能够在请求头中携带例如token等信息
// 响应拦截器能够简化返回的数据
const request = axios.create({
  baseURL: "/api",
  timeout: 5000,
});
//配置请求拦截器
request.interceptors.request.use((config) => {
  return config;
});
//配置响应拦截器
request.interceptors.response.use(
  // 成功
  (response) => {
    return response.data;
  },
  // 出现错误
  (err) => {
    console.log(err);
    let status = err.response.status;
    switch (status) {
      case 404:
        ElMessage.error("请求路径无效");
        break;
      case 500 | 502 | 503:
        ElMessage.error("服务器挂掉了");
        break;
      case 401 | 403 | 400:
        ElMessage.error("请求参数无效");
        break;
      default:
        ElMessage.error("未知的错误");
    }
  }
);

export default request;
